package top.tangyh.lamp.care.vo.update;

import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.Valid;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import lombok.Data;
import top.tangyh.lamp.care.vo.save.YaoPlanInVO;

import java.time.LocalDateTime;
import java.util.Date;
import java.util.List;

@Data
@Schema(description ="修改执行用药入参类")
public class UpdateExeYaoInVO {

    @Schema(description ="识别号")
    @NotBlank(message = "请输入识别号")
    private String patientIdent;

    @Schema(description ="住院号")
    @NotBlank(message = "请输入住院号")
    private String hospitalNumber;

    @Schema(description ="药物分组id")
    @NotBlank(message = "请输入药物分组id")
    private String groupId;

    @Schema(description ="计划执行时间")
    @NotNull(message = "请输入计划执行时间")
    private Long planTime;

    @Schema(description ="用药方式")
    @NotBlank(message = "请输入用药方式")
    private String routeIdent;

    @Schema(description ="用药频次")
    private String repeatIdent;

    @Schema(description ="用药途径")
//    @NotBlank(message = "请输入用药途径")
    private String wayIdent;

    @Schema(description ="用药通道")
//    @NotBlank(message = "请输入用药通道")
    private String channelIdent;

    @Schema(description ="医生姓名")
//    @NotBlank(message = "请输入医生姓名")
    private String doctorName;

    @Schema(description ="下医嘱时间")
//    @NotNull(message = "请输入下医嘱时间")
    private Long operaTime;

    @Schema(description ="用药集合")
    @Valid
    private List<YaoPlanInVO> yaoList;

    @Schema(description ="单签名")
    private String signature1;

    @Schema(description ="执行时间")
    private LocalDateTime exeTime;

    @Schema(description ="执行状态")
    private String exeStatus;

    @Schema(description ="双签名")
    private String signature2;

    @Schema(description ="备注")
    private String remarks;

    @Schema(description ="入量类型")
    private Integer inputType;
}